Call gtk_show_uri() if no uri hook has been set. Patch by Emmanuele Bassi
authorMatthias Clasen <matthiasc@src.gnome.org>
Mon, 8 Dec 2008 02:39:28 +0000 (02:39 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Mon, 8 Dec 2008 02:39:28 +0000 (02:39 +0000)
        * gtk/gtklinkbutton.c: Call gtk_show_uri() if no uri hook has
        been set. Patch by Emmanuele Bassi

svn path=/trunk/; revision=21853

ChangeLog
gtk/gtklinkbutton.c

index 4ee30d116d68f76c2b68da5d4bb8b81a9bd6eb77..97e74dca26a724fb5ea1966b524415b9616b5498 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-12-07  Matthias Clasen  <mclasen@redhat.com>
+
+       Bug 554274 – Add default hook for GtkLinkButton
+
+       * gtk/gtklinkbutton.c: Call gtk_show_uri() if no uri hook has
+       been set. Patch by Emmanuele Bassi
+
 2008-12-07  Matthias Clasen  <mclasen@redhat.com>
 
        Bug 559325 – documentation for gdk_display_get_window_at_pointer() 
index 6db17a933b1fd1a5d3956e5d9310a92cb7625d58..02a9e04860912eeccaa2a64ee3c54f32880ef59b 100644 (file)
@@ -474,6 +474,26 @@ gtk_link_button_clicked (GtkButton *button)
 
   if (uri_func)
     (* uri_func) (link_button, link_button->priv->uri, uri_func_data);
+  else
+    {
+      GdkScreen *screen;
+      GError *error;
+
+      if (gtk_widget_has_screen (GTK_WIDGET (button)));
+        screen = gtk_widget_get_screen (GTK_WIDGET (button));
+      else
+        screen = NULL;
+
+      error = NULL;
+      gtk_show_uri (screen, link_button->priv->uri, GDK_CURRENT_TIME, &error);
+      if (error)
+        {
+          g_warning ("Unable to show '%s': %s",
+                     link_button->priv->uri,
+                     error->message);
+          g_error_free (error);
+        }
+    }
 
   gtk_link_button_set_visited (link_button, TRUE);
 }
@@ -690,6 +710,8 @@ gtk_link_button_get_uri (GtkLinkButton *link_button)
  * a #GtkLinkButton. This function is called before every callback registered
  * for the "clicked" signal.
  *
+ * If no uri hook has been set, GTK+ defaults to calling gtk_show_uri().
+ *
  * Return value: the previously set hook function.
  *
  * Since: 2.10